import {ref, computed} from 'vue';

/**
 * 
 * @param object 首先，它是一个响应式对象，其次，它其中具有总共条目数和本页条目列表，当前所在页
 * @param config config用于配置参数名，`totalParamName`代表我们该如何从object中找到总条目数，`currentPageParamName`代表我们该如何获得当前页
 * 
 * @returns 
 */
export default function usePagination(object, pageSize, config: {
  totalParamName: string,
  currentPageParamName: string
}) {
  const loading = ref(false);
  const pagination = computed(() => ({
    pageSize: pageSize,
    total: object.value[config.totalParamName],
    current: object.value[config.currentPageParamName]
  }))
  return { loading, pagination};
}